//
//  NoteCC Registered allCases.swift
//  MIDIKit • https://github.com/orchetect/MIDIKit
//  © 2021-2025 Steffan Andrews • Licensed under MIT License
//

extension MIDIEvent.NoteCC.PerNoteController.Registered: CaseIterable {
    public typealias AllCases = [Self]
    
    // this looks scary but its heart is in the right place
    public static let allCases: [Self] = [
        .modWheel,                      //   1
        .breath,                        //   2
        .pitch7_25,                     //   3
        .undefined(.cc4),               //   4
        .undefined(.cc5),               //   5
        .undefined(.cc6),               //   6
        .volume,                        //   7
        .balance,                       //   8
        .undefined(.cc9),               //   9
        .pan,                           //  10
        .expression,                    //  11
        .undefined(.cc12),              //  12
        .undefined(.cc13),              //  13
        .undefined(.cc14),              //  14
        .undefined(.cc15),              //  15
        .undefined(.cc16),              //  16
        .undefined(.cc17),              //  17
        .undefined(.cc18),              //  18
        .undefined(.cc19),              //  19
        .undefined(.cc20),              //  20
        .undefined(.cc21),              //  21
        .undefined(.cc22),              //  22
        .undefined(.cc23),              //  23
        .undefined(.cc24),              //  24
        .undefined(.cc25),              //  25
        .undefined(.cc26),              //  26
        .undefined(.cc27),              //  27
        .undefined(.cc28),              //  28
        .undefined(.cc29),              //  29
        .undefined(.cc30),              //  30
        .undefined(.cc31),              //  31
        .undefined(.cc32),              //  32
        .undefined(.cc33),              //  33
        .undefined(.cc34),              //  34
        .undefined(.cc35),              //  35
        .undefined(.cc36),              //  36
        .undefined(.cc37),              //  37
        .undefined(.cc38),              //  38
        .undefined(.cc39),              //  39
        .undefined(.cc40),              //  40
        .undefined(.cc41),              //  41
        .undefined(.cc42),              //  42
        .undefined(.cc43),              //  43
        .undefined(.cc44),              //  44
        .undefined(.cc45),              //  45
        .undefined(.cc46),              //  46
        .undefined(.cc47),              //  47
        .undefined(.cc48),              //  48
        .undefined(.cc49),              //  49
        .undefined(.cc50),              //  50
        .undefined(.cc51),              //  51
        .undefined(.cc52),              //  52
        .undefined(.cc53),              //  53
        .undefined(.cc54),              //  54
        .undefined(.cc55),              //  55
        .undefined(.cc56),              //  56
        .undefined(.cc57),              //  57
        .undefined(.cc58),              //  58
        .undefined(.cc59),              //  59
        .undefined(.cc60),              //  60
        .undefined(.cc61),              //  61
        .undefined(.cc62),              //  62
        .undefined(.cc63),              //  63
        .undefined(.cc64),              //  64
        .undefined(.cc65),              //  65
        .undefined(.cc66),              //  66
        .undefined(.cc67),              //  67
        .undefined(.cc68),              //  68
        .undefined(.cc69),              //  69
        .soundCtrl1_soundVariation,     //  70
        .soundCtrl2_timbreIntensity,    //  71
        .soundCtrl3_releaseTime,        //  72
        .soundCtrl4_attackTime,         //  73
        .soundCtrl5_brightness,         //  74
        .soundCtrl6_decayTime,          //  75
        .soundCtrl7_vibratoRate,        //  76
        .soundCtrl8_vibratoDepth,       //  77
        .soundCtrl9_vibratoDelay,       //  78
        .soundCtrl10_defaultUndefined,  //  79
        .undefined(.cc80),              //  80
        .undefined(.cc81),              //  81
        .undefined(.cc82),              //  82
        .undefined(.cc83),              //  83
        .undefined(.cc84),              //  84
        .undefined(.cc85),              //  85
        .undefined(.cc86),              //  86
        .undefined(.cc87),              //  87
        .undefined(.cc88),              //  88
        .undefined(.cc89),              //  89
        .undefined(.cc90),              //  90
        .effects1Depth_reverbSendLevel, //  91
        .effects2Depth,                 //  92
        .effects3Depth_chorusSendLevel, //  93
        .effects4Depth,                 //  94
        .effects5Depth,                 //  95
        .undefined(.cc96),              //  96
        .undefined(.cc97),              //  97
        .undefined(.cc98),              //  98
        .undefined(.cc99),              //  99
        .undefined(.cc100),             // 100
        .undefined(.cc101),             // 101
        .undefined(.cc102),             // 102
        .undefined(.cc103),             // 103
        .undefined(.cc104),             // 104
        .undefined(.cc105),             // 105
        .undefined(.cc106),             // 106
        .undefined(.cc107),             // 107
        .undefined(.cc108),             // 108
        .undefined(.cc109),             // 109
        .undefined(.cc110),             // 110
        .undefined(.cc111),             // 111
        .undefined(.cc112),             // 112
        .undefined(.cc113),             // 113
        .undefined(.cc114),             // 114
        .undefined(.cc115),             // 115
        .undefined(.cc116),             // 116
        .undefined(.cc117),             // 117
        .undefined(.cc118),             // 118
        .undefined(.cc119),             // 119
        .undefined(.cc120),             // 120
        .undefined(.cc121),             // 121
        .undefined(.cc122),             // 122
        .undefined(.cc123),             // 123
        .undefined(.cc124),             // 124
        .undefined(.cc125),             // 125
        .undefined(.cc126),             // 126
        .undefined(.cc127),             // 127
        .undefined(.cc128),             // 128
        .undefined(.cc129),             // 129
        .undefined(.cc130),             // 130
        .undefined(.cc131),             // 131
        .undefined(.cc132),             // 132
        .undefined(.cc133),             // 133
        .undefined(.cc134),             // 134
        .undefined(.cc135),             // 135
        .undefined(.cc136),             // 136
        .undefined(.cc137),             // 137
        .undefined(.cc138),             // 138
        .undefined(.cc139),             // 139
        .undefined(.cc140),             // 140
        .undefined(.cc141),             // 141
        .undefined(.cc142),             // 142
        .undefined(.cc143),             // 143
        .undefined(.cc144),             // 144
        .undefined(.cc145),             // 145
        .undefined(.cc146),             // 146
        .undefined(.cc147),             // 147
        .undefined(.cc148),             // 148
        .undefined(.cc149),             // 149
        .undefined(.cc150),             // 150
        .undefined(.cc151),             // 151
        .undefined(.cc152),             // 152
        .undefined(.cc153),             // 153
        .undefined(.cc154),             // 154
        .undefined(.cc155),             // 155
        .undefined(.cc156),             // 156
        .undefined(.cc157),             // 157
        .undefined(.cc158),             // 158
        .undefined(.cc159),             // 159
        .undefined(.cc160),             // 160
        .undefined(.cc161),             // 161
        .undefined(.cc162),             // 162
        .undefined(.cc163),             // 163
        .undefined(.cc164),             // 164
        .undefined(.cc165),             // 165
        .undefined(.cc166),             // 166
        .undefined(.cc167),             // 167
        .undefined(.cc168),             // 168
        .undefined(.cc169),             // 169
        .undefined(.cc170),             // 170
        .undefined(.cc171),             // 171
        .undefined(.cc172),             // 172
        .undefined(.cc173),             // 173
        .undefined(.cc174),             // 174
        .undefined(.cc175),             // 175
        .undefined(.cc176),             // 176
        .undefined(.cc177),             // 177
        .undefined(.cc178),             // 178
        .undefined(.cc179),             // 179
        .undefined(.cc180),             // 180
        .undefined(.cc181),             // 181
        .undefined(.cc182),             // 182
        .undefined(.cc183),             // 183
        .undefined(.cc184),             // 184
        .undefined(.cc185),             // 185
        .undefined(.cc186),             // 186
        .undefined(.cc187),             // 187
        .undefined(.cc188),             // 188
        .undefined(.cc189),             // 189
        .undefined(.cc190),             // 190
        .undefined(.cc191),             // 191
        .undefined(.cc192),             // 192
        .undefined(.cc193),             // 193
        .undefined(.cc194),             // 194
        .undefined(.cc195),             // 195
        .undefined(.cc196),             // 196
        .undefined(.cc197),             // 197
        .undefined(.cc198),             // 198
        .undefined(.cc199),             // 199
        .undefined(.cc200),             // 200
        .undefined(.cc201),             // 201
        .undefined(.cc202),             // 202
        .undefined(.cc203),             // 203
        .undefined(.cc204),             // 204
        .undefined(.cc205),             // 205
        .undefined(.cc206),             // 206
        .undefined(.cc207),             // 207
        .undefined(.cc208),             // 208
        .undefined(.cc209),             // 209
        .undefined(.cc210),             // 210
        .undefined(.cc211),             // 211
        .undefined(.cc212),             // 212
        .undefined(.cc213),             // 213
        .undefined(.cc214),             // 214
        .undefined(.cc215),             // 215
        .undefined(.cc216),             // 216
        .undefined(.cc217),             // 217
        .undefined(.cc218),             // 218
        .undefined(.cc219),             // 219
        .undefined(.cc220),             // 220
        .undefined(.cc221),             // 221
        .undefined(.cc222),             // 222
        .undefined(.cc223),             // 223
        .undefined(.cc224),             // 224
        .undefined(.cc225),             // 225
        .undefined(.cc226),             // 226
        .undefined(.cc227),             // 227
        .undefined(.cc228),             // 228
        .undefined(.cc229),             // 229
        .undefined(.cc230),             // 230
        .undefined(.cc231),             // 231
        .undefined(.cc232),             // 232
        .undefined(.cc233),             // 233
        .undefined(.cc234),             // 234
        .undefined(.cc235),             // 235
        .undefined(.cc236),             // 236
        .undefined(.cc237),             // 237
        .undefined(.cc238),             // 238
        .undefined(.cc239),             // 239
        .undefined(.cc240),             // 240
        .undefined(.cc241),             // 241
        .undefined(.cc242),             // 242
        .undefined(.cc243),             // 243
        .undefined(.cc244),             // 244
        .undefined(.cc245),             // 245
        .undefined(.cc246),             // 246
        .undefined(.cc247),             // 247
        .undefined(.cc248),             // 248
        .undefined(.cc249),             // 249
        .undefined(.cc250),             // 250
        .undefined(.cc251),             // 251
        .undefined(.cc252),             // 252
        .undefined(.cc253),             // 253
        .undefined(.cc254),             // 254
        .undefined(.cc255)              // 255
    ]
}
